Communication systems typically include a plurality of communication units, such as mobile or portable radio units and dispatch consoles that are located at multiple sites. Typically, the various sites include base site repeaters (“repeaters”) for transceiving information such as control, voice, data and network management traffic between the communication units and each other. The repeaters and consoles are typically connected to other fixed portions of the communication system (i.e., the infrastructure) via wireline connections. The repeaters communicate with communication units and/or other repeaters at their respective sites via radio frequency (RF) communication resources, typically comprising voice and/or data resources such as, for example, narrow band frequency modulated channels, time division modulated slots, carrier frequencies, frequency pairs, etc. Communication systems are sometimes logically divided into various subgroups, known as talkgroups, which can be made up of communication units and/or consoles at different sites desiring to participate in a group or dispatch call. Communication systems may also support point-to-point calls between two communication devices which can comprise communication units and/or consoles at different sites.
Communication systems are often classified as circuit-switched or packet-switched, referring to the way data is communicated between fixed endpoints (e.g., repeater and console sites) of the system for either group calls or point-to-point calls. Historically, radio communication systems have used circuit-switched architectures where each endpoint is linked, through dedicated or on-demand circuits, to a central radio system switching point, or “central switch.” The circuits providing connectivity to the central switch require a dedicated wire for each endpoint whether or not the endpoint is participating in a particular call. More recently, communication systems are beginning to use packet-switched networks using the Internet Protocol (IP). In these systems, data that is to be transported between endpoints (or “hosts” in IP terminology) is divided into IP packets called datagrams. The datagrams include addressing information (e.g., source and destination addresses) that enables various routers forming an IP network to route the packets to the specified destination(s). The destination addresses may identify a particular host or may comprise an IP Multicast address shared by a group of hosts.
Examples of IP Multicast communication systems are described and claimed in U.S. Pat. No. 6,141,347, titled “Wireless Communication System Incorporating Multicast Addressing and Method for Use” and U.S. patent application Ser. No. 09/464,269, titled “Methods for Implementing a Talkgroup Call in a Multicast IP Network,” each of which is assigned to the assignee of the present invention and incorporated herein by reference in its entirety. In an IP Multicast based system, host devices desiring to receive the IP packets join a multicast group address by sending Internet Group Management Protocol (IGMP) “Join” messages to their local router(s) which messages, in turn, are forwarded to downstream router(s). Based on the IGMP Join messages, the routers of the network build a spanning tree of router interfaces and necessary routes between those interfaces to support a call (e.g., a talkgroup or point-to-point call) between the endpoints participating in the call.
However, one problem presently encountered in IP multicast based systems is that IGMP Join messages are unreliable. That is because IGMP Join messages are delivered as “best effort” datagrams, thus it is possible that they may be corrupted somewhere in the network and not delivered to all of the downstream routers. As a result, it is possible that certain hosts (e.g., repeaters or consoles) having attempted to Join the multicast group address will not have Joined successfully and thereby will not receive IP packets addressed to the multicast group address. Moreover, those hosts will not be notified that their Join was ineffective. Although current IP multicast protocols do provide for periodic updates that can detect and repair lost packets, including lost “Joins,” these updates are too slow (three or more seconds) for radio communication applications. Thus, for example, a host repeater or console relying on the network protocols to repair a lost Join message would miss all or part of a call, possibly containing critical information. Accordingly, there is a need for a system and method that would enable participating hosts in a multicast IP network having sent IGMP Join messages to know whether they have reliably (i.e., successfully) Joined an IP multicast group. Advantageously, the method will provide for detecting failed Join(s) relatively quickly (i.e., without relying on periodic updates from router(s) of the network) so that, when necessary, the Join(s) may be re-accomplished to reduce or eliminate the likelihood that any affected host(s) will lose critical information that might be conveyed in a talkgroup or point-to-point call. The present invention is directed to satisfying these needs.